/**
 * @class DataManager  管理工作区应用数据
 */
class DataManager {
  /**
   * @description 储存应用数据
   * @param {String} id 组件id
   * @param {Object} item 组件数据
   * @memberof DataManager
   */
  setAppData(id, item) {
    if (!this._dataManager) {
      this._dataManager = new Map();
    }
    this._dataManager.set(id, item);
  }
  /**
   * @description 取应用所有的数据
   * @returns 以组件id为key值的应用数据
   * @memberof DataManager
   */
  getAppData() {
    let appData = {};
    for (let [key, value] of this._dataManager.entries()) {
      appData[key] = value;
    }
    return appData;
  }
  /**
   * @description 取单个组件的数据
   * @param {String} id 组件id
   * @returns 单个组件的数据
   * @memberof DataManager
   */
  getComponentData(id) {
    if (this._dataManager) {
      return this._dataManager.get(id);
    }
  }
  /** TODO: 数据过滤需要服务支持
   * @description 取过滤后的数据
   * @param {String} id 组件id
   * @param {Array} params 查询条件
   * @memberof DataManager
   */
  getFilterData(id, params) {}
}

export default new DataManager();
